1. Field of Use
The present invention relates to graphics image display systems and more particularly to a system for efficiently transferring graphics or picture image data to an output device.
2. Prior Art
As the advantages of graphics based computing continue to grow, the need for printing and displaying high quality complex images or pictures has increased. Laser type printers, because of their speed and clear printing qualities, have been used to operate as graphics printers.
Although capable of higher performance, laser printers differ greatly from conventional printers, such that current computer system designs may not take full advantage of their speed, particularly in the case of graphics applications.
In such applications, all graphics devices, whether screens or printers, operate with bit mapped images wherein each pixel in a bit mapped screen corresponds to a bit in a random access memory (RAM). To change the screen image, the software changes the contents of the video RAM. Non-laser graphics printers operate in the same way, except that the bit map need not be held in RAM all at once.
The typical dot matrix printer operates at a speed slow enough to permit a gradual build up of the bit map in RAM, one band of the image at a time. However, the faster laser printer normally requires a large memory buffer to store an entire page of bit mapped graphics. Only the more expensive models have included the one megabyte of storage required. Even then, it has been found that additional storage still may be required to provide adequate, temporary storage for variables and a variety of prestored fonts. For desired resolution, even more storage may be desirable.
Additionally, laser printers equipped with full page buffers still require sufficient time to fill the buffer with a full page of image information. As an alternative to pure bit mapping, graphics primitives have been employed. Such primitives are used to specify geometric objects, such as a line, for example, which is defined by its length orientation and width. However, graphics primitives may still not be adequate for printing very complex images.
To reduce the amount of image data transmitted, one approach is to utilize conventional data compression algorithms. However, the introduction of these algorithms requires modifications to be made to the laser printers and/or controllers to restore the compressed image to its original or uncompressed state.
Another approach is to place the printer into a graphics mode and only transfer lines of a graphics image containing essential nonzero (black) image data together with appropriate vertical incrementing commands. In this arrangement, if a line contains black image data close to the right hand margin, all of the zero (white) image data to the left of the image data is transmitted. The main advantage of this arrangement is that it primarily eliminates the need to transmit zero (white) image data when the entire line contains only white data. While reducing data transfer requirements, a substantial amount of white image data is still transmitted.
Accordingly, it is an object of the present invention to provide a method which reduces substantially, the amount of non-essential white image data which is required to be stored by an output device having limited storage, such as a laser printer.
Another object of the present invention is to provide data image reduction arrangement which is compatible with a standard graphics interface.
A still further object of the present invention is to provide an arrangement which can be efficiently implemented by a small amount of software executable on a variety of types of computer systems.